Data communications networks utilizing ECMP routing are relatively common. When network nodes, such as routers, need to split data flows (e.g. IP (Internet Protocol) multicast data traffic or mLDP traffic) across the data paths between them during ECMP routing, various routing protocols may be used. These may include a simple hash mechanism that can calculate a hash value based on an identifier for each multicast data flow, with modulo arithmetic then being used to select which one of the data paths between the network nodes is to carry the multicast data flows. This stochastical splitting of data flows across the available data paths during ECMP routing may work well if there are many data flows that need to be transmitted, with each data flow having a relatively small bandwidth. In this case, on average, the spread of data flows being transmitted may be relatively even across the available ECMP data paths.
In applications where high bandwidth data flows need to be transmitted (e.g. IPTV data flows having bandwidths of between 4 Mbps and 20 Mbps), stochastically splitting the data flows across all available data paths may not be viable and may also not be the most efficient way of transmitting the data flows across the network.